Differences in the amsmath package

Here we describe differences that users will see in the amsmath package, as the successor of amstex version 1.1. In general, commands and options that were dropped during the creation of the amsmath package are retained in the frozen version of amstex that is provided for compatibility mode use.

  1. The options intlim, nosumlim, nonamelm, righttag, ctagsplt for the amstex package are superseded by more intelligible names intlimits, nosumlimits, nonamelimits, reqno, centertags for the amsmath package.

  2. The character is no longer used as a special command prefix, except for the amscd package, and then only within the CD environment. Practically speaking, this means primarily that it is no longer necessary to use doubled |@@| to get a single printed @ character (e.g., in e-mail addresses).

  3. The extensible arrow commands |@»>| and |@«<| are no longer available outside of the CD environment of the amscd package; alternative commands xleftarrow and xrightarrow are provided by the amsmath package. The sub and superscripts are given through an optional resp. mandatory argument, for example
    \begin{ctab}{ll}
\vert X\xleftarrow[a]{b}Y\vert& $X\xleftarrow[a]{b}Y$\\
\vert X'\xrightarrow[\alpha]{\beta}Y'\vert& $X'\xrightarrow[\alpha]{\beta}Y'$
\end{ctab}

  4. The command bold has been superseded by the command mathbf, as the latter is now the standard name provided by for this purpose.

  5. The commands newsymbol, frak, Bbb are no longer available because the amsfonts package is not loaded by amsmath. (In any case those commands now have new names—see the amsfonts documentation for details.)

  6. The amsmath package provides lvert and rvert for | symbols when they act as delimiters (compare langle, rangle for 〈…〉 delimiters). This is to address the problem that the || character is overloaded to represent several different notations with different typographical treatment. Although this overloading is handled easily enough in reading by the discriminatory powers of the knowledgeable reader, it presents more difficult obstacles to the processing of electronic documents by various computer tools. Commands lVert and rVert are likewise provided in stead of || for paired-delimiter use of the | symbol. Further discussion is found in the / user's guide (amsldoc.tex).

  7. The ˜ command is left unchanged by amsmath; the change that makes it remove a redundant preceding or following space character is now done only by AMS documentclasses (in version 1.1 this was done by the amstex package).

  8. The following rarely used commands are gone: accentedsymbol, sphat, spcheck, sptilde, spdot, spddot, spdddot, spbreve, @))), @(((. They can be obtained through the amsxtra package if necessary.

  9. The six generalized fraction commands over, overwithdelims, atop, atopwithdelims, above, abovewithdelims are expressly forbidden by the amsmath package; use of the recommended forms frac, binom, and variants is now required, instead of merely recommended, and a new command genfrac has been added to fill in the access gaps that used to exist. Use of the genfrac command is discussed in the / user's guide (amsldoc.tex).

    Not only is the unusual syntax of the primitive / fraction commands rather out of place in , but furthermore that syntax seems to be solely responsible for one of the most significant flaws in /'s mathematical typesetting capabilities: the fact that the current mathstyle at any given point in a math formula cannot be determined until the end of the formula, because of the possibility that a following generalized fraction command will change the mathstyle of the preceding material. As the side effects are a bit technical in nature, they are discussed in technote.tex rather than here.

  10. The fracwithdelims command is gone, as genfrac provides equivalent functionality (and a little more).

  11. The optional argument of frac that allowed changing the thickness of the fraction line is gone. That functionality is now provided only through genfrac: the need to change the line thickness is so rare in practice that it seems better not to burden the ubiquitous frac command with the somewhat time-consuming look-ahead process required for an optional argument. I.e., this change will contribute in a small way to making your documents run faster.

  12. The commands lcfrac and rcfrac for left or right alignment of continued fraction numerators are gone; they are replaced by an optional argument of the cfrac command.

  13. A new command DeclareMathOperator is provided for defining new operator names:
    \DeclareMathOperator{\Tr}{Tr}
    \DeclareMathOperator*{\xlim}{x-lim}
    
    The |*| form makes the operator name produce limit-style sub and superscripts, like max or lim. This is now the preferred method, instead of using the old command operatorname (which is, however, retained for now). The command operatornamewithlimits has been renamed operatorname*. These commands now can also be obtained through a separate package amsopn, so it's not necessary to load the entire amsmath package just to get that feature.

  14. The environments Sb and Sp for multiline subscripts have been replaced by a single command substack, used as follows:
    \sum_{\substack{first line\\second line}}
    
    This command can be used equally well in a subscript or superscript, and provides better vertical positioning (as compared to Sb, Sp) if a multiline subscript is placed on the side, as perhaps for an integral. There is also a slightly generalized alternative, an environment subarray that allows you to specify either centering or left alignment for the contents:
    \sum_{\begin{subarray}{l}first line\\second line\end{subarray}}
    

  15. A command nobreakdash is provided to suppress the possibility of a linebreak after the following hyphen or dash. For example, if you write `pages 1–9' as |pages 1–9| then a linebreak will never occur between the dash and the 9. You can also use nobreakdash to prevent undesirable hyphenations in combinations like |p-adic|. For frequent use, it's advisable to make abbreviations, e.g.,
    \newcommand{\p}{$p$\nobreakdash}% for "\p-adic"
    \newcommand{\Ndash}{\nobreakdash--}% for "pages 1\Ndash 9"
    

  16. The [xx]align[at] family of environments has been thoroughly revised: now the xalignat environment is gone, as its function has been merged into the align environment (it's no longer necessary to specify how many side-by-side structures, as was required for xalignat, because align automatically handles any number of them). Similarly, the xxalignat environment has been replaced by an environment flalign that doesn't require you to specify how many side-by-side structures will be needed. Certain numbering problems (presence of an equation number when it should be absent, or vice versa) have also been cleared up.

  17. The placement of equation numbers has been substantially improved for align, gather, and split. Numbers will now never overlap on top of the equation body (as far as we can ascertain), and they are much less likely to be shifted up or down unnecessarily when there is actually adequate space to leave the number in the normal place. In a few remaining cases, an equation number will be shifted unnecessarily because technical complications make accurate measurement of the available room too difficult; for those cases a raisetag command is provided that allows you to manually adjust the vertical position of the equation number. (Thanks to David M. Jones for his substantial [volunteer] work behind this change and the preceding one.)

  18. The seldom-used command oldnos is gone; if you need it, you should consult the documentation on using fonts (e.g., fntguide.tex) to find out how to construct an equivalent command.

  19. A new subequations environment causes all numbered equation environments within its scope to be numbered (4.9a) (4.9b) (4.9c) etc., if the preceding numbered equation was 4.8. A label command immediately after |
    | willproducea$\displaystyle \cn$refoftheparentnumber`4.9', not`4.9a'.Thecountersusedbythe$\displaystyle \env$subequationsenvironmentare| parentequation| and| equation| andstandardusesof$\displaystyle \cn$addtocounter,$\displaystyle \cn$setcounter, etc., arepossiblewiththosecounternames.

    $\displaystyle \item$The$\displaystyle \pkg$amsmathpackage(unlike$\displaystyle \pkg$amstex)respectsthesettingprovidedbythedocumentclassforputtingequationnumbersontherightortheleft.[Technicalnote : adocumentclassthathas$\displaystyle \opt$leqnoasthedefaultshouldexplicitlypassthatoptiontothe$\displaystyle \pkg$amsmathpackagewith$\displaystyle \cn$PassOptionsToPackageinorderforittobeeffective.]

    $\displaystyle \item$The$\displaystyle \opt$fleqnoptionforleft - alignedinsteadofcenteredequationsisnowsupported (thankstoDavidM.Jones).

    (1a)